﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WeChatParking.Core.Payment.UnionPay
{
    
    public class orderInfo
    {
        /// <summary>
        /// 支付请求唯一序列号，由运营商生成
        /// </summary>
        public string syncId { get; set; }
        /// <summary>
        /// 车牌号
        /// </summary>
        public string plateNumber { get; set; }
        /// <summary>
        /// 订单号，由运营商生成
        /// </summary>
        public string orderId { get; set; }
        /// <summary>
        /// 发送给智慧通行平台的订单金额，精确到分，以分为单位。用户支付到运营商实际金额（比如运营商扣除优惠劵，代金券等）
        /// </summary>
        public int payAmount { get; set; }
        /// <summary>
        /// 总金额，精确到分，以分为单位。用户在运营商产生的总费用
        /// </summary>
        public int serviceAmount { get; set; }
        /// <summary>
        /// 订单生成时间。UTC时间。例如：2018-03-16T16:06:05Z
        /// </summary>
        public string orderDate { get; set; }
        /// <summary>
        /// 车辆进入停车场时间。UTC时间。例如：2018-03-16T16:06:05Z
        /// </summary>
        public string startTime { get; set; }
        /// <summary>
        /// 车辆离开停车场时间。UTC时间。例如：2018-03-16T16:06:05Z
        /// </summary>
        public string endTime { get; set; }
        /// <summary>
        /// 运营商分配给停车场的id，由运营商定义
        /// </summary>
        public string parkId { get; set; }
        /// <summary>
        /// 运营商分配给停车场的名称，由运营商定义
        /// </summary>
        public string parkName { get; set; }
        /// <summary>
        /// 支付完成后，智慧通行平台向此url推送支付结果
        /// </summary>
        public string payCallback { get; set; }

        /// <summary>
        ///         分账域，该字段上传时须将Json转义,相关字段说明：1. accSplitType 分账类型 2. accSplitRuleId 分账规则ID （分账类型为2时才出现，15位字母或数字，分账规则由商户通过平台配置来完成） 3. accSplitMchts 分账对象组（分账类型为1时才出现，accSplitMcht数组，最多支持5个分账对象，该对象包含以下两个字段【accSplitMerId 分账二级商户代码，由一级商户通过商户服务门户添加的15位商户代码，accSplitAmt 分账入账金额，精确到分】）
        ///JSON格式说明：
        ///accSplitType=1时：
        ///{"accSplitType":"1","accSplitMchts":[{"accSplitMerId":"123456789012341","accSplitAmt":"100"},{"accSplitMerId":"123456789012342","accSplitAmt":"200"}]}
        ///accSplitType=2时：
        ///{"accSplitType":"2","accSplitRuleId":"123456789012345"}
        /// </summary>
        public string accSplitData { get; set; }
    }
}
